package com.peas.platform.module.icims.base.sys.controller.vo;

import java.util.*;

import com.peas.platform.common.core.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Size;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("接口调用记录")
public class InvokeVo extends BaseVo {

    @ApiModelProperty(value = "系统")
    @Size(max = 100, message = "系统不能超过100个字符")
    private String system;

    @ApiModelProperty(value = "系统名称")
    @Size(max = 100, message = "系统名称不能超过100个字符")
    private String systemName;

    @ApiModelProperty(value = "服务")
    @Size(max = 100, message = "服务不能超过100个字符")
    private String service;

    @ApiModelProperty(value = "服务名")
    @Size(max = 100, message = "服务名不能超过100个字符")
    private String serviceName;

    @ApiModelProperty(value = "接口描述")
    @Size(max = 200, message = "接口描述不能超过200个字符")
    private String interfaceDesc;

    @ApiModelProperty(value = "接口地址")
    @Size(max = 200, message = "接口地址不能超过200个字符")
    private String interfaceUrl;

    @ApiModelProperty(value = "接口参数")
    private String interfaceParam;

    @ApiModelProperty(value = "接口方法")
    @Size(max = 20, message = "接口方法不能超过20个字符")
    private String interfaceMethod;

    @ApiModelProperty(value = "处理类")
    @Size(max = 300, message = "处理类不能超过300个字符")
    private String clazz;

    @ApiModelProperty(value = "处理方法")
    @Size(max = 100, message = "处理方法不能超过100个字符")
    private String method;

    @ApiModelProperty(value = "返回值")
    private String returnData;

    @ApiModelProperty(value = "访问请求ID")
    @Size(max = 200, message = "访问请求ID不能超过200个字符")
    private String traceId;

    @ApiModelProperty(value = "访问时间")
    private Date invokeTime;

    @ApiModelProperty(value = "访问耗时(毫秒)")
    private Long invokeDuration;

}
